home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cifs445.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  90 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(11011);
  10.  script_version ("$Revision: 1.14 $");
  11.  
  12.  name["english"] = "SMB on port 445";
  13.  script_name(english:name["english"]);
  14.  
  15.  desc["english"] = "
  16. This script detects wether port 445 and 139 are open and
  17. if thet are running SMB servers.
  18.  
  19. Risk factor : None";
  20.  
  21.  
  22.  
  23.  script_description(english:desc["english"]);
  24.  
  25.  summary["english"] = "Checks for openness of port 445";
  26.  
  27.  script_summary(english:summary["english"]);
  28.  
  29.  script_category(ACT_GATHER_INFO);
  30.  
  31.  
  32.  script_copyright(english:"This script is Copyright (C) 2002 Renaud Deraison");
  33.  
  34.  family["english"] = "Windows";
  35.  
  36.  script_family(english:family["english"]);
  37.  script_dependencie("find_service.nes");
  38.  script_require_ports(139, 445);
  39.  exit(0);
  40. }
  41.  
  42. #
  43. # The script code starts here
  44. #
  45.  
  46. include("smb_nt.inc");
  47. include("misc_func.inc");
  48.  
  49. flag = 0;
  50.  
  51. if(get_port_state(445))
  52. {
  53.  soc = open_sock_tcp(445);
  54.  if(soc){
  55.  r = smb_neg_prot(soc:soc);
  56.  close(soc);
  57.  if(r){
  58.      register_service(port:445, proto:"cifs");
  59.     security_note(port:445, data:"A CIFS server is running on this port");
  60.     set_kb_item(name:"SMB/transport", value:445);
  61.     flag = 1;
  62.       }
  63.    }
  64. }
  65.  
  66.  
  67. if(get_port_state(139))
  68. {
  69.   soc = open_sock_tcp(139);
  70.   if(soc){
  71.     nb_remote = netbios_name(orig:string("Nessus", rand()));
  72.      nb_local  = netbios_redirector_name();
  73.      session_request = raw_string(0x81, 0x00, 0x00, 0x44) + 
  74.           raw_string(0x20) + 
  75.           nb_remote +
  76.           raw_string(0x00, 0x20)    + 
  77.           nb_local  + 
  78.           raw_string(0x00);
  79.     send(socket:soc, data:session_request);
  80.     r = recv(socket:soc, length:4);
  81.     close(soc);
  82.     if(r && (ord(r[0]) == 0x82 || ord(r[0]) == 0x83)) {
  83.         register_service(port:139, proto:"smb");
  84.         security_note(port:139, data:"An SMB server is running on this port");    
  85.             if(!flag)set_kb_item(name:"SMB/transport", value:139);
  86.         }
  87.     }
  88. }
  89.  
  90.